package com.authine.cloudpivot.ext.enums.system;

/**
 * @author Adam Yao
 * @date 2017/12/13
 */
public enum RoleAdminEnum {
    /**
     * 平台角色管理员
     */
    ROLE_PM_ADMIN("ROLE_PM_ADMIN", "平台角色管理员"),
    /**
     * 供应商角色管理员
     */
    ROLE_VENDOR_ADMIN("ROLE_VENDOR_ADMIN", "供应商角色管理员"),
    /**
     * 客户角色管理员
     */
    ROLE_CUSTOMER_ADMIN("ROLE_CUSTOMER_ADMIN", "客户角色管理员"),

    /**
     * 【附加】 如果是部门管理员可享有子部门和部门用户的资源
     */
    ROLE_VENDOR_DEPT_ADMIN("ROLE_VENDOR_DEPT_ADMIN", "供应商部门管理员角色"),
    ROLE_CUSTOMER_DEPT_ADMIN("ROLE_CUSTOMER_DEPT_ADMIN", "客户部门管理员角色"),
    ROLE_VENDOR_CONTRACT("ROLE_VENDOR_CONTRACT", "代购角色"),

    /**
     * 入驻信息审核管理员
     */
    ROLE_PM_REGISTE_ADMIN("ROLE_PM_REGISTE_ADMIN", "入驻信息审核管理角色"),
    /**
     * 定标审批角色
     */

    ROLE_CUSTOMER_DBSP("ROLE_CUSTOMER_DBSP", "定标审批人"),
    /**
     * 订单审核角色
     */
    ROLE_CUSTOMER_DDSP("ROLE_CUSTOMER_DDSP", "订单审批人"),
    /**
     * 需求角色
     */
    ROLE_CUSTOMER_XUQIU("ROLE_CUSTOMER_XUQIU", "需求人员"),
    /**
     * 巴德富专有角色
     */
    ROLE_CUSTOMER_BADF_CGZJ("ROLE_CUSTOMER_BADF_CGZJ", "巴德富采购总监"),
    ROLE_CUSTOMER_BADF_CGJL("ROLE_CUSTOMER_BADF_CGJL", "巴德富采购经理"),
    /**
     * 平台ID角色
     */
    ROLE_PM_IT("ROLE_PM_IT", "平台ID角色"),
    ROLE_PM_VENDOR("ROLE_PM_VENDOR", "平台虚拟供应商"),
    ROLE_PM_TRANSPORT("ROLE_PM_TRANSPORT", "平台物流"),
    ROLE_PM_BOSS("ROLE_PM_BOSS", "BOSS管理员"),
    /**
     * 此角色为了判断是不是平台转采采购员审核采购订单的权限
     */
    ROLE_PM_CAIGOU_ADMIN("ROLE_PM_CAIGOU_ADMIN", "平台采购主管"),
    ROLE_PM_CAIGOU("ROLE_PM_CAIGOU", "平台采购员"),

    ROLE_PM_ZC("ROLE_PM_ZC", "驻厂工程师"),

    /**
     * 由于原先业务在单次寻源下单时需要验证下单人必须是询价人，有了该权限的用户则会跳过该验证
     */
    ROLE_CUSTOMER_ORDER_SINGLE_AUTHORITY("ROLE_CUSTOMER_ORDER_SINGLE_AUTHORITY", "寻源单次购买下单权限");

    private String name;
    private String des;

    RoleAdminEnum(String name, String des) {
        this.name = name;
        this.des = des;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDes() {
        return des;
    }

    public void setDes(String des) {
        this.des = des;
    }

    @Override
    public String toString() {
        return "RoleAdminEnum{" +
                "name='" + name + '\'' +
                ", des='" + des + '\'' +
                '}';
    }
}
